
double *basis_brick8 ( int n, double p[] );
void basis_brick8_test ( );
double *basis_brick20 ( int n, double p[] );
void basis_brick20_test ( );
double *basis_brick27 ( int n, double p[] );
void basis_brick27_test ( );
void basis_mn_tet4 ( double t[3*4], int n, double p[], double phi[] );
void basis_mn_tet4_test ( );
void basis_mn_tet10 ( double t[3*4], int n, double p[], double phi[] );
void basis_mn_tet10_test ( );

double *nodes_brick8 ( );
double *nodes_brick20 ( );
double *nodes_brick27 ( );
double *physical_to_reference_tet4 ( double t[], int n, double phy[] );

double *reference_tet4_sample ( int n, int *seed );
double *reference_tet4_uniform ( int n, int *seed );
double *reference_tet4_uniform2 ( int n, int *seed );
double *reference_to_physical_tet4 ( double t[], int n, double ref[] );
double *tetrahedron_barycentric ( double tetra[3*4], double p[3] );
double tetrahedron_volume ( double tetra[3*4] );

#include "utils.hh"
